home *** CD-ROM | disk | FTP | other *** search
- # --------------------------------------------------------------------------
- #| MASTERCAM MP POST PROCESSOR | Always back up your post-processor |
- #| CNC Software, Inc. | prior to making any changes. It's easy, |
- #| Control Model: FANUC 6M+ | just put a floppy in drive a:, at DOS |
- #| Machine Model: GENERIC | type "COPY C:\NC\*.PST A:" |
- #| PST File Name: MPFAN.PST/TXT | |
- #| Executable : MP.EXE 3.06 | |
- # --------------------------------------------------------------------------
- #
- # ---------------
- #| REVISION LOG |
- # ------------------------------------------------------------------------
- # Programmers Note:
- # CNC 5/12/94 - Initial post setup for Mill5
- #$Lgb$
- # 1.0 Jph 08/19/94 Initial source control check-in
- # 1.1 jph 08/24/94 Correct coolant text
- # 1.2 jph 09/02/94 Ques. 86. was 0.2 delay
- # 1.3 pdr 09/06/94 Updated and corrected numbered questions
- # 1.4 pdr 09/07/94 Updated reverse post name (q 93.)
- #$Lge$
- #
- # ---------------
- #| FEATURES: |
- # ------------------------------------------------------------------------
- # Users Note:
- #
- # Following Misc_Reals & Misc_Integers are used:
- #
- # mi1 - Work coordinate system
- # 0 = Reference return is generated and G92 with the
- # X, Y and Z home positions at file head.
- # 1 thru 3 = Reference return is generated and G92 with the
- # X, Y and Z home positions at each tool.
- # 4 thru 9 = The WCS of G54 thru G59 respectively at each tool.
- #
- # Options / Usage:
- # It is recommended to start and end cutter compensation on a linear move.
- # Rotary axis assumes a "Z" plunge at feed into part, position of the
- # substituted axis at absolute zero position and the retraction from path
- # by the post call to the G28 machine Z home position.
-
- # --------------------------------------------------------------------------
- # DEBUG/PROGRAM SWITCHES, debugging and program switches
- # --------------------------------------------------------------------------
- bug1 : 1 # 1 = Output post to screen, 2 = output leader to screen
- bug2 : 0 # Append postline labels, non-zero is column position?
- bug3 : 0 # Append whatline no. to each NC line?
- bug4 : 0 # Append NCI line no. to each NC line?
- whatno : yes # Do not perform whatline branches?
-
- arcoutput : 0 # 0 = IJK, 1 = R no sign, 2 = R signed neg. over 180
- breakarcs : no # Break arcs into quadrants?
- stagetool : 0 # 0 = Do not pre-stage tools, 1 = Stage tools
- use_gear : no # Set to yes to output gear range codes
-
- # --------------------------------------------------------------------------
- # FORMAT STATEMENTS - n=nonmodal, l=leading, t=trailing, i=inc, d=delta
- # --------------------------------------------------------------------------
- fs 1 0.4 #Decimal, absolute, 4 place
- fs 2 0.4d #Decimal, delta
- fs 3 1 0 #Integer, not leading
- fs 4 2 0l #Integer, two leading
- fs 5 3 0l #Integer, three leading
- fs 6 4 0l #Integer, four leading
- fs 7 0.1 #Decimal, absolute, 1 place
- fs 8 0.2 #Decimal, absolute, 2 place
- fs 9 0.3 #Decimal, absolute, 3 place
- fs 10 0 4t #No decimal, absolute, four trailing
- fs 11 0.4t #Decimal, absolute, four trailing
-
- # --------------------------------------------------------------------------
- # FORMAT ASSIGNMENTS
- # --------------------------------------------------------------------------
- # Axis output formats - Linear
- # --------------------------------------------------------------------------
- fmt X 1 x # X axis position
- fmt Y 1 y # Y axis position
- fmt Z 1 z # Z axis position
- fmt X 1 xr # X rapid position from tool change
- fmt Y 1 yr # Y rapid position from tool change
- fmt Z 1 zr # Z rapid position from tool change
- fmt X 1 xh # X home position
- fmt Y 1 yh # Y home position
- fmt Z 1 zh # Z home position
-
- # --------------------------------------------------------------------------
- # Axis output formats - Circular
- # --------------------------------------------------------------------------
- fmt I 2 i # Arc center description in X
- fmt J 2 j # Arc center description in Y
- fmt K 2 k # Arc center description in Z
- fmt R 1 arcrad # Arc Radius
- fmt R- 1 arcradm # Arc Radius over 180 degree sweep
-
- # --------------------------------------------------------------------------
- # Axis output formats - Rotary substitution
- # --------------------------------------------------------------------------
- fmt A 9 xangle # Linear to rotary calculation of X
- fmt B 9 yangle # Linear to rotary calculation of Y
-
- # --------------------------------------------------------------------------
- # Program & Sequence number format
- # --------------------------------------------------------------------------
- fmt O 6 progno # Program number
- fmt N 3 n # Sequence nos.
-
- # --------------------------------------------------------------------------
- # Tool format
- # --------------------------------------------------------------------------
- fmt T 3 t # Tool No
- fmt T 3 first_tool# First Tool Used (bldnxtool: yes)
- fmt T 3 next_tool # Next Tool Used (bldnxtool: yes)
- fmt D 3 tloffno # Diameter Offset No
- fmt H 3 tlngno # Length Offset No
-
- fmt "TOOL - " 4 tnote # Note format
- fmt "DIA. OFF. - " 4 toffnote # Note format
- fmt "LENGTH - " 4 tlngnote # Note format
- fmt "DIA. - " 11 tldia # Note format
-
- # --------------------------------------------------------------------------
- # Spindle Speeds & Feedrate output formats
- # --------------------------------------------------------------------------
- fmt S 6 speed # Spindle Speed
- fmt F 8 fr # Feedrate
- fmt F 7 frdeg # Feedrate for rotary
- fmt M 3 gear # Gear range
-
- # --------------------------------------------------------------------------
- # Drill variable formats
- # --------------------------------------------------------------------------
- fmt G 3 drillref # Initial / Reference Toggle (G98/G99)
- fmt P 10 dwell # Dwell
- fmt Z 1 initht # Initial Height
- fmt R 1 refht # Reference Height
- fmt Z 1 depth # Depth
- fmt Q 10 peck1 # First peck increment (positive)
- fmt 1 peck2 # Second or last peck (positive)
- fmt 1 peckclr # Safety distance
- fmt 1 retr # Retract height
- fmt F 8 frplunge # Plunge feedrate in drill cycles
-
- # --------------------------------------------------------------------------
- # Miscellaneous output formats
- # --------------------------------------------------------------------------
- fmt M 5 ssrange # Spindle Speed Range
- fmt C 4 coolant # Coolant
-
- # --------------------------------------------------------------------------
- # INITIALIZE - initialize system variables and define user variables
- # --------------------------------------------------------------------------
- qtoolpln : no # MP386 - Enable tool plane option
- qtoolopt : no # MP386 - Enable tool optimization
- arctype : 2 # Arc center 1=abs, 2=St-Ctr, 3=Ctr-St, 4=unsigned inc.
- bldnxtool : yes # Build next tool table
- ldrcode : 65 # Leader character dec. equiv. (fleader outputs code)
- ncldr : 20 # No. of leader characters (fleader outputs code)
- nobrk : no # Omit breakup of x/y & z rapid moves
- omitcrlf : no # Omit CR/LF
- omitrefht : no # Don't use reference height on first non-canned Z move
- omitseq : no # Omit sequence no.
- omitz : no # Omit first Z movement for non-canned-cycles
- progname : 1 # Use uppercase for program name
- scalex : 1.0 # Scaling of .NCI at input - x,y,z,i,j,k
- scaley : 1.0 # Scaling of .NCI at input - x,y,z,i,j,k
- scalez : 1.0 # Scaling of .NCI at input - x,y,z,i,j,k
- seqmax : 9999 # Max. sequence no.
- skipmotest: no # Skip motion test in linear
- spaces : 1 # No. of spaces to add between fields
- tooltable : 1 # Read for tool table and pwrtt
-
- absswp : 0 # Absolute sweep
- drlgsel : -1 # Drill Select Initialize
- maxfrdeg : 999 # Limit for feed in deg/min
- absinc : 0 # Absolute/Incremental toggle for modality
- tcnt : 0 # Count the number of tool changes
- adelta : 0 # Calculation for deg/min
- ldelta : 0 # Calculation for deg/min
- zdelta : 0 # Calculation for deg/min
- alzdelta : 0 # Calculation for deg/min
- frdelta : 0 # Calculation for deg/min
- frdegcalc : 0 # Calculation for deg/min
- circum : 0 # Calculation for deg/min
- rotstrt : 1 # Flag for first rotary position
-
- # --------------------------------------------------------------------------
- # FORMULAS - global formulas
- # --------------------------------------------------------------------------
- ssrange = mi3 # Gear Range Select
- speed = abs ( ss ) # Absolute spindle speed
- arcradm = arcrad # Negative arcrad
- spdlsel = fsg3(ss) # Spindle on selector based on pos. or neg. ss
-
- # --------------------------------------------------------------------------
- # CANNED CYCLES - select long or short code
- # --------------------------------------------------------------------------
- usecandrill : yes # Use canned cycle for drill
- usecanpeck : yes # Use canned cycle for Peck
- usecanchip : yes # Use canned cycle for Chip Break
- usecantap : yes # Use canned cycle for Tap
- usecanbore1 : yes # Use canned cycle for Bore1
- usecanbore2 : yes # Use canned cycle for Bore2
- usecanmisc1 : yes # Use canned cycle for Misc1
- usecanmisc2 : yes # Use canned cycle for Misc2
-
- # --------------------------------------------------------------------------
- # Lookup table definitions - for math functions FLOOK and FRANGE
- # --------------------------------------------------------------------------
- flktbl 1 3 # Lookup table definitions - table no. - no. entries
- 40 1000 # Low gear range
- 41 2500 # Med gear range
- 42 5000 # Hi gear range
-
- # --------------------------------------------------------------------------
- # Strings - String labels must start with 's' - they are not pre-assigned
- # --------------------------------------------------------------------------
- #Select operation note
- sop00 NULL # String definition
- sop01 2D-CONTOUR # " "
- sop02 3D-CONTOUR # " "
- sop03 DRILL/MISC # " "
- sop04 POCKET.... # " "
- sop05 RULED..... # " "
- sop06 2D-SWEPT.. # " "
- sop07 3D-SWEPT.. # " "
- sop08 REVOLVED.. # " "
- sop09 LOFT...... # " "
- sop10 COONS..... # " "
- sop11 TRIM ..... # " "
- sop12 FILLET.... # " "
- sop13 ROUGH..... # " "
- sop14 OP14...... # " "
- sop15 OP15...... # " "
-
- sopnote # Target string
-
- fstrsel sop00 opcode sopnote
-
- # --------------------------------------------------------------------------
- # Select motion G code
- sg00 G0 # Linear movement at rapid feedrate
- sg01 G1 # Linear movement at feedrate
- sg02 G2 # Circular interpolation CW
- sg03 G3 # Circular interpolation CCW
-
- sgcode # Target string
-
- fstrsel sg00 gcode sgcode
-
- # --------------------------------------------------------------------------
- # Select incremental or absolute G code
- sg90 G90 # Absolute G code
- sg91 G91 # Incremental G code
-
- sgabsinc # Target string
-
- fstrsel sg90 absinc sgabsinc
-
- # --------------------------------------------------------------------------
- # Select spindle start
- sm04 M4 # Spindle reverse
- sm05 M5 # Spindle off
- sm03 M3 # Spindle forward
-
- spdlon # Target string
-
- fstrsel sm04 spdlsel spdlon
-
- # --------------------------------------------------------------------------
- # Cutter compensation code
- scc0 "" # Cutter compensation state not changed
- sg40 G40 # Cancel cutter compensation
- sg41 G41 # Cutter compensation left
- sg42 G42 # Cutter compensation right
- sg140 G40 # Last linear move cancel cutter comp (see note)
- # Note: to cancel comp after last move, remove G40 string
- # with sg140 and remove "#" at the postline call "pcancelcc"
-
- sccomp # Target string
-
- fstrsel scc0 ccomp sccomp
-
- # --------------------------------------------------------------------------
- # Select work plane G code
- sg17 G17 # XY plane code
- sg19 G19 # XZ plane code
- sg18 G18 # YZ plane code
-
- sgplane # Target string
-
- fstrsel sg17 plane sgplane
-
- # --------------------------------------------------------------------------
- # Work coordinate system
- sg50 G92 # Work coordinate system G code
- sg51 G92 # " " " " "
- sg52 G92 # " " " " "
- sg53 G92 # " " " " "
- sg54 G54 # " " " " "
- sg55 G55 # " " " " "
- sg56 G56 # " " " " "
- sg57 G57 # " " " " "
- sg58 G58 # " " " " "
- sg59 G59 # " " " " "
-
- sgwcs # Target string
-
- fstrsel sg50 mi1 sgwcs
-
- # --------------------------------------------------------------------------
- # Canned drill cycle string select
- sg81 G81 # drill - no dwell
- sg81d G82 # drill - with dwell
- sg83 G83 # peck drill - no dwell
- sg83d G83 # peck drill - with dwell
- sg73 G73 # chip break - no dwell
- sg73d G73 # chip break - with dwell
- sg84 G84 # tap - no dwell
- sg84d G74 # tap - with dwell (selects left hand)
- sg85 G85 # bore #1 - no dwell
- sg85d G89 # bore #1 - with dwell
- sg86 G86 # bore #2 - no dwell
- sg86d G86 # bore #2 - with dwell
- sgm1 G81 # misc #1 - no dwell
- sgm1d G82 # misc #1 - with dwell
- sgm2 G81 # misc #2 - no dwell
- sgm2d G82 # misc #2 - with dwell
-
- sgdrill # Target string
-
- drlgsel = drillcyc * 2 + fsg2 ( dwell ) # 16 possible combinations:
- # drillcyc = 0..7
- # dwell = 0 or non-zero (2 states)
- fstrsel sg81 drlgsel sgdrill
-
- # --------------------------------------------------------------------------
- # Generate 'sgear' string
- sgear0 M** # auto gear range
- sgear1 M41 # Low gear range
- sgear2 M42 # Med gear range
- sgear3 M43 # High gear range - selected in parameters by mi3
- sgear
-
- fstrsel sgear0 gear sgear
-
- # --------------------------------------------------------------------------
- # POSTLINES, USER-DEFINED - Postline labels start with 'p'.
- # End a line with ',' to continue on the next line.
- # End a line with ', e' to generate carriage return and linefeed.
- # --------------------------------------------------------------------------
- # Program general output control, user defined
- # --------------------------------------------------------------------------
- pinit # Initialize Vars
- prv_fr = 999.999
- prv_frdeg = 999.999
- prv_frplunge = 999.999
- linarc = 0
- rotstrt = 1
-
- pcomment # Manual Entry - COMMENTS (on a block by itself) 1005,1006
- "(", scomm, ")"
-
- pabs # Absolute G code output
- absinc = 0
- sgabsinc
-
- pinc # Incremental G code output
- absinc = 1
- sgabsinc
-
- pcooloff # Coolant off "M" code output
- if prv_coolant > 0, "M09"
-
- pcoolon # Coolant off "M" code output
- if coolant = 1, "M08" # Flood
- if coolant = 2, "M08" # Mist
-
- pcoolnl # Coolant off "M" code output
- if coolant = 0, "M09" # Off
- if coolant = 1, "M08" # Flood
- if coolant = 2, "M08" # Mist
-
- pfr # Feedrate W/O Negative Feedrates
- if fr > 0, fr
-
- pcan # Canned text - cantext = 0, 1, 2, 3
- if cantext = 1, "M01" #optional stop
- if cantext = 2, " " #user option
- if cantext = 3, " " #user option
-
- # --------------------------------------------------------------------------
- # Work coordinate output, user defined
- # --------------------------------------------------------------------------
- pg92_sof # G92 coordinate setting at start
- "/", n, pinc, "G28", "Z0.", e
- "/", n, "G28", "X0.", "Y0.", e
- "/", n, *sgwcs, *xh, *yh, *zh, e
-
- pg92_out # G92 coordinate setting at tool change
- "/", n, "G28", "X0.", "Y0.", e
- if gcode <> 1003, "/", n, *sgwcs, *xh, *yh, *zh, e
-
- pg92_tst # G92 coordinate test for output
- if mi1 > 0, pg92_out
-
- pwcs # G54+ coordinate setting
- if mi1 >= 4, *sgwcs
-
- # --------------------------------------------------------------------------
- # Gear selection control, user defined
- # --------------------------------------------------------------------------
- pgear # Find spindle range
- gear = frange ( 1, speed )
- *gear
-
- prange # Find spindle range
- if use_gear = 1, pgear
-
- # --------------------------------------------------------------------------
- # Cutter comp. output control, user defined
- # --------------------------------------------------------------------------
- pccdia2 # Cutter Compensation2
- if ccomp <> 4, tloffno
-
- pccdia # Cutter Compensation
- if ccomp <> 0, pccdia2
-
- # --------------------------------------------------------------------------
- # Axis substitution motion, user defined
- # --------------------------------------------------------------------------
- pdrlxyrot # Substitute Axis X/Y with Rotary axis w/ drilling
- xangle = xs
- yangle = ys
- if rotaxis = 0, x, y
- if rotaxis = 1, y, xangle
- if rotaxis = 2, x, yangle
-
- pfrd # Feedrate W/O Negative Feedrates (deg/min)
- if frdeg > maxfrdeg, frdeg = maxfrdeg
- if frdelta > .5, *frdeg #Value to exceed to output frdeg
-
- protaxis1a # Substitute Axis X/Y with Rotary axis
- if rotstrt = 0, n, sgcode, y, z, *xangle, pfrd, pcan, e
- if rotstrt = 1, n, xangle, e
- if rotstrt = 1, n, sgcode, y, z, pfrd, pcan, e
-
- protaxis1 # Substitute Axis X/Y with Rotary axis
- if gcode = 0, n, sgcode, y, z, *xangle, pcan, e
- if gcode = 1, protaxis1a
-
- protaxis2a # Substitute Axis X/Y with Rotary axis
- if rotstrt = 0, n, sgcode, x, z, *yangle, pfrd, pcan, e
- if rotstrt = 1, n, yangle, e
- if rotstrt = 1, n, sgcode, x, z, pfrd, pcan, e
-
- protaxis2 # Substitute Axis X/Y with Rotary axis
- if gcode = 0, n, sgcode, x, z, *yangle, pcan, e
- if gcode = 1, protaxis2a
-
- protaxis # Substitute Axis X/Y with Rotary axis
- xangle = xs
- yangle = ys
- if rotstrt = 1, !fr
- if fr < 0, fr = prv_fr
- !fr
- if rotaxis = 1, ldelta = abs ( y - prv_y )
- if rotaxis = 2, ldelta = abs ( x - prv_x )
- zdelta = abs ( z - prv_z )
- if rotaxis = 1, adelta = ( ( abs ( xangle - prv_xangle ) ) / 360 ) * circum
- if rotaxis = 2, adelta = ( ( abs ( yangle - prv_yangle ) ) / 360 ) * circum
- alzdelta = sqrt ( adelta^2 + ldelta ^2 + zdelta^2 )
- frdegcalc = fr * ( 360 / circum )
- if alzdelta <> 0, frdeg = ( adelta / alzdelta ) * frdegcalc
- if adelta = 0, frdeg = fr
- frdelta = abs ( frdeg - prv_frdeg )
- if rotaxis = 1, protaxis1
- if rotaxis = 2, protaxis2
- if gcode = 1, rotstrt = 0
- !x, !y, !z
-
- protary # Rotary Move
- if rotaxis = 1, xr = 0 #Force X to zero
- if rotaxis = 2, yr = 0 #Force Y to zero
- if rotaxis > 0, linarc = 1
- circum = rotdia * pi
-
- # --------------------------------------------------------------------------
- # Axis linear/circular motion, user defined
- # --------------------------------------------------------------------------
- parctyp2 # Arc output for R w/ sign over 180 degree sweep
- absswp = abs ( sweep )
- if absswp <= 180, *arcrad
- if absswp > 180, *arcradm
-
- parctyp1 # Arc output for R w/ no sign
- *arcrad
-
- parctyp0 # Arc output for IJK
- if plane = 0, *i, *j, k
- if plane = 1, i, *j, *k
- if plane = 2, *i, j, *k
-
- parctyp # Select the arc output
- if arcoutput = 0, parctyp0
- if arcoutput = 1, parctyp1
- if arcoutput = 2, parctyp2
-
- prapidm # Linear line movement - at rapid feedrate
- n, sgplane, sccomp, pccdia, sgcode, x, y, z, pcan
-
- plinm # Linear line movement - at feedrate
- n, sccomp, pccdia, sgcode, x, y, z, pfr, pcan
-
- pcirm # Circular interpolation
- n, sgplane, sccomp, pccdia, sgcode, x, y, z, parctyp, pfr, pcan
-
- # --------------------------------------------------------------------------
- # Drilling, user defined
- # --------------------------------------------------------------------------
-
- pdrillref # Determine G98 or G99
- if initht <> refht, drillref = 98
- if initht = refht, drillref = 99
-
- pdwell # Determine whether to output dwell
- if dwell <> 0, *dwell
-
- ptlchg0dr3 # Null tool change for drilling
- gcode = 0
- if zr < prv_zr, n, sgcode, *xr, *yr, e
- n, sgcode, *zr, e
-
- ptlchg0dr2 # Null tool change for drilling
- if zr <> prv_zr, ptlchg0dr3
-
- ptlchg0drl # Null tool change for drilling
- if prv_opcode = 3, ptlchg0dr2
-
- # --------------------------------------------------------------------------
- # POSTLINES, PRE-DEFINED - Postline names are pre-assigned.
- # Lines do not need to end with ', e' for carriage return and linefeed.
- # --------------------------------------------------------------------------
- pheader # File header
- "(PROGRAM NAME -", progname, ")"
- "(DATE, Day-Month-Year - ", date, " TIME, Hr:Min - ", time, ")"
-
- psof0 # Start of file for tool zero
- psof
-
- psof # Start of file for non-zero tool number
- pinit
- !opcode, !coolant
- if tcnt = 1, stagetool = 2
- " ", e
- "%"
- progno
- comment
- n, "G00 G40 G49 G80 G90"
- if mi1 <= 3, pg92_sof
- if stagetool = 0, n, *t, "M06"
- if stagetool = 1, n, *next_tool, "M06"
- protary
- n, "G00", pabs, pwcs, *xr, *yr, *speed, *spdlon, prange
- n, "G43", tlngno, *zr, pcoolon
-
- ptlchg0 # Null tool change
- if opcode = 3, ptlchg0drl
- if prv_speed <> speed, n, speed
- if coolant <> prv_coolant, n, pcoolnl
- !opcode, !zr, !coolant
-
- ptlchg # Tool change
- pinit
- !opcode
- n, "M05"
- n, pinc, "G28", "Z0.", pcooloff
- if mi1 <= 3, pg92_tst
- if stagetool = 0, n, *t, "M06"
- if stagetool = 1, n, *next_tool, "M06"
- n, "M01"
- comment
- protary
- n, "G00", pabs, pwcs, *xr, *yr, *speed, *spdlon, prange
- n, "G43", tlngno, *zr, pcoolon
- !coolant
-
- peof0 # End of file for tool zero
- peof
-
- peof # End of file for non-zero tool
- n, "M05"
- n, pinc, "G28", "Z0.", pcooloff
- if mi1 <= 3, pg92_tst
- if stagetool = 1, n, *first_tool, "M06"
- n, pabs
- n, "M30"
- "%"
-
- # --------------------------------------------------------------------------
- # Axis motion
- # --------------------------------------------------------------------------
- prot0 # Toolplane postline - Custom post required
-
- prot # Toolplane postline - Custom post required
-
- prapid # Linear line movement - at rapid feedrate
- if rotaxis <> 0, protaxis
- if rotaxis = 0, prapidm
-
- pzrapid # Linear movement in Z axis only - at rapid feedrate
- n, sgcode, z
-
- plin1 # First linear movement after SOF, whatno must be set
-
- plin2 # Second linear movement after SOF, whatno must be set
-
- plin # Linear line movement - at feedrate
- if rotaxis <> 0, protaxis
- if rotaxis = 0, plinm
-
- pz # Linear movement in Z axis only - at feedrate
- n, sgcode, z, pfr
-
- pcir1 # First circular movement after SOF, whatno must be set
-
- pcir2 # Second circular movement after SOF, whatno must be set
-
- pcir # Circular interpolation
- if rotaxis <> 0, protaxis
- if rotaxis = 0, pcirm
-
- # --------------------------------------------------------------------------
- # Drilling
- # --------------------------------------------------------------------------
- pdrill # Canned Drill Cycle
- pdrillref
- n, *drillref, *sgdrill, pdrlxyrot, *depth, *refht, pdwell, *frplunge
-
- ppeck # Canned Peck Drill Cycle
- pdrillref
- n, *drillref, *sgdrill, pdrlxyrot, *depth, *refht, *peck1, *frplunge
-
- pchpbrk # Canned Chip Break Cycle
- pdrillref
- n, *drillref, *sgdrill, pdrlxyrot, *depth, *refht, *peck1, *frplunge
-
- ptap # Canned Tap Cycle
- pdrillref
- n, *drillref, *sgdrill, pdrlxyrot, *depth, *refht, *frplunge
-
- pbore1 # Canned Bore #1 Cycle
- pdrillref
- n, *drillref, *sgdrill, pdrlxyrot, *depth, *refht, pdwell, *frplunge
-
- pbore2 # Canned Bore #2 Cycle
- pdrillref
- n, *drillref, *sgdrill, pdrlxyrot, *depth, *refht, *frplunge
-
- pmisc1 # Canned Misc #1 Cycle (User Option)
- pdrill
-
- pmisc2 # Canned Misc #2 Cycle (User Option)
- pdrill
-
- pdrill_2 # Canned Drill Cycle
- n, pdrlxyrot, refht, depth
-
-
- ppeck_2 # Canned Peck Drill Cycle
- pdrill_2
-
- pchpbrk_2 # Canned Chip Break Cycle
- pdrill_2
-
- ptap_2 # Canned Tap Cycle
- pdrill_2
-
- pbore1_2 # Canned Bore #1 Cycle
- pdrill_2
-
- pbore2_2 # Canned Bore #2 Cycle
- pdrill_2
-
- pmisc1_2 # Canned Misc #1 Cycle
- pdrill_2
-
- pmisc2_2 # Canned Misc #2 Cycle
- pdrill_2
-
- pcanceldc # Cancel canned drill cycle
- !gcode
- n, "G80"
-
- pcancelcc # Cancel cutter comp.
- #n, "G40"
-
- pwrtt # Write tool table, scans entire file, null tools are negative
- tnote = t
- toffnote = tloffno
- tlngnote = tlngno
- if t >= 0, "(", *tnote, " ", *toffnote, " ", *tlngnote, " ", *tldia, " ",
- *sopnote, ")"
- if t >= 0, tcnt = tcnt + 1
-
- # --------------------------------------------------------------------------
- # Numbered questions for Mastercam -- Used by Mill 5
- # --------------------------------------------------------------------------
- 38. Rapid feedrate? 300.0
- 76. Configuration file name?
- 80. Communications port number for receive and transmit (1 or 2) ? 2
- 81. Data rate (110,150,300,600,1200,2400,4800,9600,14400,19200,38400)? 300
- 82. Parity (E/O/N)? E
- 83. Data bits (7 or 8)? 7
- 84. Stop bits (1 or 2)? 2
- 85. Strip line feeds? N
- 86. Delay after end of line (seconds)? 0
- 87. Ascii, Eia, or Binary (A/E/B)? A
- 88. Echo keyboard to screen in terminal emulation? n
- 89. Strip carriage returns? N
- 90. Drive and subdirectory for NC and Material files?
- 91. Name of executable post processor? MP
- 92. Name of reverse post processor? RP
- 93. Reverse post PST file name? RPFAN
- 100. Number of places BEFORE the decimal point for sequence numbers? 3
- 101. Number of places AFTER the decimal point for sequence numbers? 0
- 103. Maximum spindle speed? 5000
- 107. Average time for tool change (seconds)? 2.0
- 110. Default tool library? TOOLS.MTL
-
- # --------------------------------------------------------------------------
- # Default Miscellaneous Real Values
- # --------------------------------------------------------------------------
- 201. Default miscellaneous real variable 1 (mr1)? 0.0
- 202. Default miscellaneous real variable 2 (mr2)? 0.0
- 203. Default miscellaneous real variable 3 (mr3)? 0.0
- 204. Default miscellaneous real variable 4 (mr4)? 0.0
- 205. Default miscellaneous real variable 5 (mr5)? 0.0
- 206. Default miscellaneous real variable 6 (mr6)? 0.0
- 207. Default miscellaneous real variable 7 (mr7)? 0.0
- 208. Default miscellaneous real variable 8 (mr8)? 0.0
- 209. Default miscellaneous real variable 9 (mr9)? 0.0
- 210. Default miscellaneous real variable 10 (mr10)? 0.0
-
- # --------------------------------------------------------------------------
- # Default Miscellaneous Integer Values
- # --------------------------------------------------------------------------
- 301. Default Work Coordinate System (0 thru 3=G92, 4 thru 9=G54-G59)? 1
- 302. Miscellaneous integer variable 2 (mi4)? 0
- 303. Miscellaneous integer variable 3 (mi4)? 0
- 304. Miscellaneous integer variable 4 (mi4)? 0
- 305. Miscellaneous integer variable 5 (mi5)? 0
- 306. Miscellaneous integer variable 6 (mi6)? 0
- 307. Miscellaneous integer variable 7 (mi7)? 0
- 308. Miscellaneous integer variable 8 (mi8)? 0
- 309. Miscellaneous integer variable 9 (mi9)? 0
- 310. Miscellaneous integer variable 10 (mi10)? 0
-